//go:build wireinject
// +build wireinject

// The build tag makes sure the stub is not built in the final build.

package main

import (
	"github.com/go-kratos/kratos/v2"
	"github.com/google/wire"

	"gitee.com/danqingzhao/go-dango/apps/user/biz"
	"gitee.com/danqingzhao/go-dango/apps/user/conf"
	"gitee.com/danqingzhao/go-dango/apps/user/data"
	"gitee.com/danqingzhao/go-dango/apps/user/server"
	"gitee.com/danqingzhao/go-dango/apps/user/service"
	"github.com/go-kratos/kratos/v2/selector"

	"gitee.com/danqingzhao/go-dango/pkg/proto/settings"
)

// wireApp init kratos application.
func wireApp(*settings.ServerConf, *conf.Data, *conf.Security, *settings.Loggers, *settings.LogHelpers, selector.NodeFilter) (*kratos.App, func(), error) {
	panic(wire.Build(server.ProviderSet, data.ProviderSet, biz.ProviderSet, service.ProviderSet, newApp))
}
